package com.tanhua.server.interceptor;

import com.tanhua.domain.db.User;

/**
 * 通过Threadlocal储存用户登入数据
 * 让其在同一线程中可以任意位置获取用户信息
 */
public class UserHolder {
    //创建Threadlocal
    private static ThreadLocal<User> userThreadLocal=new ThreadLocal<>();

    /**
     * 向当前线程添加用户数据
     * @param user
     */
    public static void setUser(User user){
        userThreadLocal.set(user);
    }

    /**
     *从当前线程获取用户数据
     * @return
     */
    public static User getUser(){
        return userThreadLocal.get();
    }

    /**
     * 获取当前登入用户id
     * @return
     */
    public static Long getUserId(){
        return userThreadLocal.get().getId();
    }
}
